1. Field of the Invention
The present invention relates to synthesizers generating sine wave signals at a programmable frequency, intended, for example, to produce tones by means of successive programming operations of the frequency signal, or to provide superposed sine waves having distinct frequencies by simultaneously programming several generators and then summing outputs of the generators.
2. Discussion of the Related Art
Programmable sine wave signal generators are often used in telephone systems to generate ring tones or Dual Tone Modulation Frequency (DTMF) signals that result from the superposition of two distinct, but substantially similar, sine wave frequencies.
FIG. 1 schematically represents a programmable sine wave signal generator used in conventional telephone sets. This generator includes an adder 10 for adding an 8-bit programmarion word A and a 12-bit return word B. The output of adder 10 is provided at the input of a D-type flip-flop 12, which is clocked by a clock signal F. The return word B is provided by the output of flip-flop 12.
With such a configuration, the four most significant bits (B8-B11) of word B oscillate at frequencies that are proportional to the value of word A and at the frequency of the clock signal F. In addition, the states of bits B8-B11 vary so as to carry out a binary counting. Thus, adder 10 and flip-flop 12 form a 4-bit counter having a programmable counting frequency or a generator 13 for generating a programmable frequency square-wave signal (the output of generator 13 can be any one of bits B8-B11).
Bits B8-B11 form a word B(11:8) provided to a decoder 4 that selects a corresponding value in a Read Only Memory (ROM) 15 (with 4 bits, in the given example, 16 distinct values can be selected). The output of ROM 15 (the selected value) is provided to the input of a digital-analog converter (DAC) 17 whose output S, filtered by a low-pass filter 19, provides the sine wave signal to be generated.
FIG. 1B shows the waveform of signal S generated by the circuit of FIG. 1A. Signal S has a discrete value for each value of word B(11:8), these discrete values having been suitably chosen so as to correspond to successive values of a sine wave period.
To save memory space, only values corresponding to one-fourth of the sine wave period are stored in ROM, the first four values in the given example. Decoder 14 is provided, using the first three bits B8-B10 of word B(11:8), to select these first four values successively by increasing order, then by decreasing order while word B(11:8) is incremented. The last bit B11 of word B(11:8) is provided to converter 17 in order to invert the polarity of signal S while the digital values, corresponding to each second sine wave half-period, are provided.
Signal S has 16 discrete values per period, and a frequency equal to the frequency of signal B11. Such a signal S generates harmonics that must be eliminated by filter 19. However, the cut-off frequency of filter 19 is fixed; therefore, this frequency must be chosen equal to the highest frequency to be generated. Thus, when frequencies that are low with respect to the cut-off frequency are generated, a large number of harmonics are not attenuated, which causes an unpleasant hiss. It is not possible with such a generator to control a piezoelectric loudspeaker, because a piezo-electric loudspeaker tends to enter into resonance with harmonics and therefore accentuating these harmonics. The ability to control piezo-electric loudspeakers is important because they are particularly inexpensive.
Of course, if it is desired to decrease the number of harmonics that are generated at a low frequency, the number of discrete values provided at each sine wave period can be increased. However, this requires that the size of adder 10 and ROM 15 be increased, which is an expensive solution if low-frequency harmonics have to be significantly attenuated.
Additionally, filter 19 is not integrable because it requires one or several high-value capacitors that are too physically cumbersome to be integrated.